/*****************************************************************************
	SNEGA UTILITIES 0.7a
	Copyright (C) 2009, Xiaohan Tian (snega0223)
	
	http://code.google.com/p/snega-utilities/
	
	This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License(LGPL) as
	published by the Free Software Foundation, either version 3 of the 
	License, or(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.
	
	You should have received a copy of the GNU Lesser General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/

package org.sng.util.web.elmt;

import org.sng.util.var.*;

public class NodeWrite extends Node {
	
	protected SVoid m_content;
	
	public NodeWrite()
	{
		super();
		
		this.m_content = null;
	}
	
	public NodeWrite(int n)
	{
		super(n);
		
		this.m_content = null;
	}
	
	public NodeWrite(String id)
	{
		this.PushProperty("id", id);
		
		this.m_content = null;
	}
	
	public NodeWrite(SVoid o)
	{
		this.m_content = o;
	}
	
	public NodeWrite Create()
	{
		return new NodeWrite();
	}
	
	public NodeWrite Create(int n)
	{
		return new NodeWrite(n);
	}
	
	public String GetType()
	{
		return "write";
	}
	
	public Node PushProperty(String header, SVoid o)
	{
		if (header.compareTo("value") == 0)
		{
			this.m_content = o;
		}
		
		return this;
	}
	
	public void SetContent(String s)
	{
		this.m_content = new SString(s);
	}
	
	public StringBuffer Do(RuntimeEnvironment re)
	{
		if (this.m_content != null) {
			return new StringBuffer(this.m_content.GetString(re));
		}
		else {
			return new StringBuffer();
		}
	}

}
